layui.use(['form', 'jquery', 'jquery_cookie'], function () {
    var form = layui.form,
        layer = layui.layer,
        $ = layui.jquery,
        $ = layui.jquery_cookie($);

    /**
     * 表单submit提交
     *
     * return false; 组织表单的提交
     */
    form.on('submit(login)', function (data) {
        // 表单元素的非空校验
        // 发送ajax请求，传递用户姓名与密码，执行用户登录操作
        $.ajax({
            type: "post",
            url: path + "/user/login",
            data: {
                userName: data.field.userName,
                password: data.field.password
            },
            success: function (result) {    // result是回调函数，用来接收后端返回的数据
                // 判断是否登录成功
                if (result.code === 200) {
                    // 登录成功
                    /**
                     * 设置用户是登录状态
                     * 利用Session会话，保存用户信息，如果会话存在，则用户是登录状态
                     * 缺点：服务器关闭或浏览器关闭，会话则会失效
                     *
                     * 利用cookie，保存用户信息，cookie未失效，则用户是登录状态
                     */
                    layer.msg("登录成功！", function () {
                        // 判断用户是否选择记住密码（判断复选框是否被选中，如果选中则设置cookie对象七天生效）
                        if ($("#rememberMe").prop("checked")) {
                            // 如果选中，将用户信息设置到cookie中
                            $.cookie("userId", result.data.id, {expires: 7});
                            $.cookie("nick", result.data.nick, {expires: 7});
                        } else {
                            // 将用户信息设置到cookie中
                            $.cookie("userId", result.data.id);
                            $.cookie("nick", result.data.nick);
                        }

                        // 登录成功后，跳转到首页
                        window.location.href = path + "/index";
                    })
                } else {
                    // 登录失败
                    layer.msg(result.msg, {icon: 5})
                }

            }
        });

        return false; // 阻止表单跳转。如果需要表单跳转，去掉这段即可。
    }); // form.on
});
